package com.example.forumsystem.utils;


import org.springframework.util.DigestUtils;

/**
 * MD5 加密类
 */

public class MD5Util {
    /**
     * md5加密
     * @param password 密码
     * @return 密文
     */

    public static String md5(String password) {
        return DigestUtils.md5DigestAsHex(password.getBytes());
    }

    /**
     *  把盐和密码加密
     *  加密(加密(密码)+盐)
     * @param password 密码
     * @param salt 盐
     * @return 密码+盐 后的密文
     */

    public static String md5Salt(String password,String salt) {
        return md5(md5(password) + salt);
    }

    /**
     * 校验密码是否正确
     * @param reqPassword 用户上传的密码
     * @param salt 数据库存储的盐值
     * @param encrypt 数据库存储的文
     * @return true 校验成功 <br/> flase 校验失败
     */
    public static boolean verifyPassword(String reqPassword, String salt, String encrypt) {
        return md5(md5(reqPassword) + salt).equalsIgnoreCase(encrypt);
    }
}
